package com.cmc.cloud.cmclink.doc.vo.sovo.sovo;

import com.cmc.cloud.cmclink.doc.vo.sovo.attachmentvo.AttachmentCreateReqVO;
import com.cmc.cloud.cmclink.doc.vo.sovo.requirementsvo.RequirementsCreateReqVO;
import com.cmc.cloud.cmclink.doc.vo.sovo.socargovo.SoCargoCreateReqVO;
import com.cmc.cloud.cmclink.doc.vo.sovo.socontactvo.SoContactCreateReqVO;
import com.cmc.cloud.cmclink.doc.vo.sovo.soforecastvo.SoForecastCreateReqVO;
import com.cmc.cloud.cmclink.doc.vo.sovo.soscnvo.SoScnCreateReqVO;
import com.cmc.cloud.cmclink.doc.vo.sovo.sovslvoyvo.SoVslvoyCreateReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import javax.validation.Valid;
import java.util.List;

/**
 * 管理后台 - 订舱 复制详情 Response VO
 *
 * @author cz
 * @date 2025/07/24 11:25
 */
@Schema(description = "管理后台 - 订舱 复制详情")
@Data
@ToString(callSuper = true)
@Valid
public class SoCopyDetailRespVo {
    @Schema(description = "订舱已确认修改旧订舱ID")
    private Long oldId;
    @Schema(description = "订舱信息")
    @Valid
    private SoCreateReqVO so;
    @Schema(description = "订舱相关方信息")
    @Valid
    SoScnCreateReqVO soScn;
    @Schema(description = "订舱航次路径")
    @Valid
    private List<SoVslvoyCreateReqVO> soVslvoyList;
    @Schema(description = "订舱预配信息")
    @Valid
    private List<SoForecastCreateReqVO> soForecastList;
    @Schema(description = "订舱货物信息")
    @Valid
    private List<SoCargoCreateReqVO> soCargoList;
    @Schema(description = "订舱联系人信息")
    @Valid
    private List<SoContactCreateReqVO> soContactList;
    @Schema(description = "订舱附件")
    @Valid
    private List<AttachmentCreateReqVO> attachmentList;
    @Schema(description = "订舱附加要求")
    @Valid
    private List<RequirementsCreateReqVO> requirementsList;
}
